#include <stdio.h>
#include <stdlib.h> 

void sort(int sort[][5]);

int main(void){
	int nums[5][5];
	for(int i = 0; i < 5; i++){
		for(int j = 0; j < 5; j++){
			nums[i][j] = rand() % 100;
		}
	}
	printf("ԭǣ\n");
	for(int i = 0; i < 5; i++){
		for(int j = 0; j < 5; j++){
			printf("%d\t",nums[i][j]);
		}
		printf("\n");
	}
	sort(nums);
	return 0;
}

void sort(int sort[][5]){
	int max = 0;
	int *pmax;
	int temp = 0; 
	for(int i = 0; i < 5; i++){
		for(int j = 0; j < 5; j++){
			if(sort[i][j] > max){
				max = sort[i][j];
				pmax = &sort[i][j];
			}
		}
	}
	temp = sort[2][2];
	sort[2][2] = *pmax;
	*pmax = temp;
	int min[4] = { max, max, max, max };
	int *pmin[4];
	for(int k = 0; k < 4; k++){
		for(int i = 0; i < 5; i++){
			for(int j = 0; j < 5; j++){
				if(k == 0){
					if(sort[i][j] < min[k]){
						min[k] = sort[i][j];
						pmin[k] = &sort[i][j];
					}
				}
				else {
					if(sort[i][j] > min[k - 1] && sort[i][j] < min[k]){
						min[k] = sort[i][j];
						pmin[k] = &sort[i][j];
					}
				}
			}
		}
	}
	int l[4] = {0,0,4,4};
	int r[4] = {0,4,0,4};
	for(int i = 0; i < 4; i++) {
		temp = sort[l[i]][r[i]];
		sort[l[i]][r[i]] = *pmin[i];
		*pmin[i] = temp;
	}
	printf("ǣ\n");
	for(int i = 0; i < 5; i++){
		for(int j = 0; j < 5; j++){
			printf("%d\t",sort[i][j]);
		}
		printf("\n");
	}
}
